package com.ali.resource.CompoentPage;

import com.ali.resource.ShareTools.TeaopenapiClient;
import com.aliyun.pvtz20180101.Client;
import com.aliyun.pvtz20180101.models.DescribeZoneRecordsRequest;
import com.aliyun.pvtz20180101.models.DescribeZoneRecordsResponse;
import com.aliyun.pvtz20180101.models.DescribeZonesRequest;
import com.aliyun.pvtz20180101.models.DescribeZonesResponse;
import com.aliyun.teaopenapi.models.Config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class DnsPrivateZoneComponent {

    @Autowired
    private TeaopenapiClient teaopenapiClient;

    public com.aliyun.pvtz20180101.Client getDnsClient() throws Exception {
        Config client = teaopenapiClient.getClient();
        client.setEndpoint("pvtz.aliyuncs.com");

        com.aliyun.pvtz20180101.Client privateClient = new com.aliyun.pvtz20180101.Client(client);
        return privateClient;
    }


    public com.aliyun.pvtz20180101.models.DescribeZonesRequest getZoneRequest(){
        DescribeZonesRequest describeZonesRequest = new DescribeZonesRequest();
        describeZonesRequest.setPageNumber(1);
        describeZonesRequest.setPageSize(100);
        return describeZonesRequest;
    }

    public com.aliyun.pvtz20180101.models.DescribeZonesResponse getZoneResponse(DescribeZonesRequest request) throws Exception {
        Client dnsClient = this.getDnsClient();
        DescribeZonesResponse describeZonesResponse = dnsClient.describeZonesWithOptions(request, teaopenapiClient.getRunTime());
        return describeZonesResponse;
    }

    public com.aliyun.pvtz20180101.models.DescribeZoneRecordsRequest getZoneRecordRequest(String zoneId){
        DescribeZoneRecordsRequest describeZoneRecordsRequest = new DescribeZoneRecordsRequest();
        describeZoneRecordsRequest.setZoneId(zoneId);
        return describeZoneRecordsRequest;
    }

    public com.aliyun.pvtz20180101.models.DescribeZoneRecordsResponse getZoneRecordResponse(com.aliyun.pvtz20180101.models.DescribeZoneRecordsRequest request) throws Exception {
        Client dnsClient = this.getDnsClient();
        DescribeZoneRecordsResponse describeZoneRecordsResponse = dnsClient.describeZoneRecordsWithOptions(request, teaopenapiClient.getRunTime());
        return describeZoneRecordsResponse;
    }

}
